﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace QuanLiGiaiBongDa
{
    public partial class frmQlTrongTai : Form
    {
        public frmQlTrongTai()
        {
            InitializeComponent();
        }
        QuanLyTrongTai_BLL ql = new QuanLyTrongTai_BLL();
        private void frmQlTrongTai_Load(object sender, EventArgs e)
        {
            LoadTT();
        }

        // ////////////////////
        //Tab Trong Tai
        private TrongTai GetValue_TT()
        {
            TrongTai tt = new TrongTai();
            tt.Matt = txtmatrongtai.Text.ToUpper();
            tt.Tentt = txttentrongtai.Text;
            tt.Ngaysinh = dateTimePngaysinhtt.Value.Date;
            return tt;
        }

        public void LoadTT()
        {
            dataGridViewQltrongtai.DataSource = ql.Load(SQLProvider.GetAll("TrongTai"));
        }

        private void btthemtrongtai_Click(object sender, EventArgs e)
        {
            DBAccess db = new DBAccess();
            string _tentrongtai = txttentrongtai.Text;
            string _matrongtai = txtmatrongtai.Text;
            DateTime _NGAYSINH = Convert.ToDateTime(dateTimePngaysinhtt.Text);

            string sql = "insert into trongtai values ('" + _matrongtai + "','" + _tentrongtai + "','" + _NGAYSINH + "')";
            db.ExecNonQuery(sql);
            MessageBox.Show("Insert Successful!", "Message", MessageBoxButtons.OK);
            string sql2 = "select * from TrongTai";
            dataGridViewQltrongtai.DataSource = db.ExecSQLDataTable(sql2);
            LoadTT();
           
        }

        private void btcapnhaptt_Click(object sender, EventArgs e)
        {
            try
            {
                DBAccess db = new DBAccess();
                string sql = "Update trongtai Set TenTT='" + txttentrongtai.Text + "',NgaySinh='" + Convert.ToDateTime(dateTimePngaysinhtt.Text) + "'   where MaTT='" + txtmatrongtai.Text + "' ";
                db.ExecNonQuery(sql);
                MessageBox.Show("Insert Successful!", "Message", MessageBoxButtons.OK);
                string sql2 = "select * from trongtai";
                dataGridViewQltrongtai.DataSource = db.ExecSQLDataTable(sql2);
                LoadTT();
            }
            catch (Exception)
            { }
        }

        private void btrefreshtt_Click(object sender, EventArgs e)
        {
            txtmatrongtai.Text = "";
            txttentrongtai.Text = "";
            txtmatrongtai.Enabled = true;
            dateTimePngaysinhtt.Value = dateTimePngaysinhtt.MinDate;
            this.LoadTT();
        }

        private void btxoatrongtai_Click(object sender, EventArgs e)
        {
            try
            {
                DBAccess db = new DBAccess();
                string _MaTT = txtmatrongtai.Text;
                string sql = "DELETE FROM trongtai WHERE MaTT = '" + _MaTT + "'";
                db.ExecNonQuery(sql);
                MessageBox.Show("Xóa Thành Công ");
                string sql1 = "select * from trongtai";
                dataGridViewQltrongtai.DataSource = db.ExecSQLDataSet(sql1);
                LoadTT();
            }
            catch (Exception)
            { }
        }

        private void dataGridViewQltrongtai_Click(object sender, EventArgs e)
        {
            if (dataGridViewQltrongtai.SelectedRows.Count > 0)
            {
                DataGridViewRow row = dataGridViewQltrongtai.SelectedRows[0];
                int vitricot = dataGridViewQltrongtai.Rows.IndexOf(row);
                txtmatrongtai.Text = dataGridViewQltrongtai[0, vitricot].Value.ToString();
                txtmatrongtai.Enabled = false;
                txttentrongtai.Text = dataGridViewQltrongtai[1, vitricot].Value.ToString();
                dateTimePngaysinhtt.Value = DateTime.Parse(dataGridViewQltrongtai[2, vitricot].Value.ToString());
            }
        }
        private void txttentrongtai_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (char.IsNumber(e.KeyChar))
            {
                MessageBox.Show("Bạn chỉ được nhập chữ.");
                e.KeyChar = '\0';
            }
        }

        //  ////////////////////////////
        //Tab điều khiển
        private DieuKhien GetValue_DK()
        {
            DieuKhien dk = new DieuKhien();
            dk.Matrd = cbmatrandau.Text;
            dk.Mavtro = cbvaitro.Text;
            //bi
            dataGridViewQlDieukhien.DataSource = ql.TimMaTTTheoTen(cbtrongtai.Text);
            if (dataGridViewQlDieukhien[0, 0].Value != null)
                dk.Matt = dataGridViewQlDieukhien[0, 0].Value.ToString();
            return dk;
        }
        public void LoadDK()
        {
            dataGridViewQlDieukhien.DataSource = ql.Load(SQLProvider.GetAll("DieuKhien"));
        }
        //Lấy mã trận đấu từ bảng trận đấu đưa vào comboboxmatradau
        private void LoadComboboxMaTranDau()
        {
            ql.MaTrD(cbmatrandau);
        }
        //Lấy dữ liệu matrongtai từ bảng Trong tai vào comboboxmatrongtai
        private void LoadComboboxMaTrongTai()
        {
            ql.MaTrongTai(cbtrongtai);
        }
        private void btxoadk_Click(object sender, EventArgs e)
        {
            if (!DataUtils.KiemTra(cbmatrandau.Text, cbtrongtai.Text, cbvaitro.Text))
            {
                MessageBox.Show("Bạn chưa chọn thông tin để xoá");
            }
            else if (ql.Delete_DieuKhien(GetValue_DK()))
            {
                MessageBox.Show("Xoá thành công");
                this.LoadDK();
            }
            else
            {
                MessageBox.Show("Xoá thất bại");
            }
        }

        private void btthemdk_Click(object sender, EventArgs e)
        {
            if (!DataUtils.KiemTra(cbmatrandau.Text, cbtrongtai.Text, cbvaitro.Text))
            {
                MessageBox.Show("Bạn chưa nhập đầy đủ thông tin");
            }
            else if (ql.Insert_DieuKhien(GetValue_DK()))
            {
                MessageBox.Show("Thêm thành công");
                this.LoadDK();

            }
            else { MessageBox.Show("Mã trận đấu hoặc mã trọng tài bị trùng.Kiểm tra lại"); }
        }

        private void btcapnhapdk_Click(object sender, EventArgs e)
        {
            if (!DataUtils.KiemTra(cbmatrandau.Text, cbtrongtai.Text, cbvaitro.Text))
            {
                MessageBox.Show("Bạn chưa chọn thông tin để cập nhật");
            }
            else if (ql.Update_DieuKhien(GetValue_DK()))
            {
                MessageBox.Show("Cập nhật thành công");
                this.LoadDK();
            }
            else
            {
                MessageBox.Show("Cập nhật thất bại");
            }
        }

        private void btrefreshdk_Click(object sender, EventArgs e)
        {
            cbmatrandau.Text = "";
            cbtrongtai.Text = "";
            cbvaitro.Text = "";
            cbmatrandau.Enabled = true;
            cbtrongtai.Enabled = true;
            this.LoadDK();
        }

        private void dataGridViewQlDieukhien_Click(object sender, EventArgs e)
        {
            if (dataGridViewQlDieukhien.SelectedRows.Count > 0)
            {
                DataGridViewRow row = dataGridViewQlDieukhien.SelectedRows[0];
                int vitricot = dataGridViewQlDieukhien.Rows.IndexOf(row);
                cbtrongtai.Text = dataGridViewQlDieukhien[1, vitricot].Value.ToString();
                cbmatrandau.Text = dataGridViewQlDieukhien[0, vitricot].Value.ToString();
                cbvaitro.Text = dataGridViewQlDieukhien[2, vitricot].Value.ToString();
                cbmatrandau.Enabled = false;
                cbtrongtai.Enabled = false;
            }
        }
        private void cbmatrandau_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.KeyChar = '\0';
        }

        // //////////////////////

        private void frmQlTrongTai_FormClosing(object sender, FormClosingEventArgs e)
        {
            DialogResult d = MessageBox.Show("Bạn muốn đóng quản lý trọng tài?", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
            if (d == DialogResult.No)
                e.Cancel = true;
        }

        private void tabControl1_Selected(object sender, TabControlEventArgs e)
        {
            if (e.TabPageIndex == 1)
            {
                this.LoadDK();
                cbmatrandau.Items.Clear();
                LoadComboboxMaTranDau();
                cbtrongtai.Items.Clear();
                LoadComboboxMaTrongTai();
            }
        }


        //private void Select(object sender, TabControlEventArgs e)
        //{

        //    if (e.TabPageIndex == 1)
        //    {
        //        LoadDK();
        //        cbmatrandau.Items.Clear();
        //        LoadComboboxMaTranDau();
        //        cbtrongtai.Items.Clear();
        //        LoadComboboxMaTrongTai();
        //    }

        //}
            
    }
}
